package org.cx.comparator.compare.mode;

import org.cx.comparator.compare.mode.impl.AddressComparatorMode;
import org.cx.comparator.compare.mode.impl.DefaultComparatorMode;
import org.cx.comparator.compare.mode.impl.ExpressionComparatorMode;


public enum ComparatorType {
    
    /**
     * 地址比较（双等于）
     */
    ADDRESS(AddressComparatorMode.class),
    /**
     * 主要是equals方式比较，对于bigDecimal采用compateTo
     */
    DEFAULT(DefaultComparatorMode.class),
    /**
     * 自定义表达式，默认使用QLExpression
     */
    EXPRESSION(ExpressionComparatorMode.class);

    private Class<? extends ComparatorMode> equatorModeCls;

    public Class<? extends ComparatorMode> getEquatorModeCls() {
        return equatorModeCls;
    }

    ComparatorType(Class<? extends ComparatorMode> equatorModeCls){
        this.equatorModeCls = equatorModeCls;
    }
}
